#ifndef _STDARG_H
#define _STDARG_H

// 使用GCC编译器内置的可变参数支持功能
// 定义va_list类型，用于遍历可变参数
typedef __builtin_va_list va_list;

// 初始化可变参数列表，v是va_list变量，l是最后一个固定参数
#define va_start(v,l)   __builtin_va_start(v,l)

// 清理可变参数列表
#define va_end(v)       __builtin_va_end(v)

// 获取下一个参数，v是va_list变量，l是参数类型
#define va_arg(v,l)     __builtin_va_arg(v,l)

// 复制可变参数列表，d是目标列表，s是源列表
#define va_copy(d,s)    __builtin_va_copy(d,s)

#endif